package com.cloud.screen.api.entity;

import com.fasterxml.jackson.annotation.JsonFormat;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;

@Table(name = "unit_info")
public class UnitInfo {
	@Id
	@Column(name = "unit_id")
	private Long unitId;

	@Column(name = "unit_name")
	private String unitName;

	@Column(name = "social_credit_code")
	private String socialCreditCode;

	@Column(name = "short_name")
	private String shortName;

	@Column(name = "representive_name")
	private String representiveName;

	@Column(name = "office_tel")
	private String officeTel;

	@Column(name = "postal_code")
	private String postalCode;

	@Column(name = "fax")
	private String fax;

	@Column(name = "email")
	private String email;

	@Column(name = "region_id")
	private Integer regionID;

	@Column(name = "region_name")
	private String regionName;

	@Column(name = "entrust_unit_id")
	private Integer entrustUnitId;

	@Column(name = "entrust_unit_name")
	private String entrustUnitName;

	@Column(name = "sup_unit_id")
	private Integer supUnitId;

	@Column(name = "sup_unit_name")
	private String supUnitName;

	@Column(name = "sup_unit_leader_id")
	private Integer supUnitLeaderId;

	@Column(name = "sup_unit_leader_name")
	private String supUnitLeaderName;

	@Column(name = "sup_unit_bianzhi_num")
	private Integer supUnitBianzhiNum;

	@Column(name = "sup_unit_level")
	private String supUnitLevel;


	@Column(name = "founded_time")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date foundedTime;

	@Column(name = "unit_address")
	private String unitAddress;

	@Column(name = "unit_nature_id")
	private String unitNatureId;

	@Column(name = "unit_level")
	private String unitLevel;

	@Column(name = "region_code")
	private String regionCode;

	@Column(name = "manubrium_flag")
	private Integer manubriumFlag;

	@Column(name = "manubrium_level")
	private String manubriumLevel;

	@Column(name = "manubrium_name")
	private String manubriumName;

	@Column(name = "unit_type_id")
	private String unitTypeId;

	@Column(name = "subject_type")
	private String subjectType;

	@Column(name = "person_number")
	private String personNumber;

	@Column(name = "setup_basis")
	private String setupBasis;

	@Column(name = "entrust_type_id")
	private String entrustTypeId;

	@Column(name = "entrust_start")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date entrustStart;

	@Column(name = "entrust_end")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date entrustEnd;

	@Column(name = "entrust_nature_id")
	private String entrustNatureId;

	@Column(name = "senior_id")
	private Long seniorId;

	@Column(name = "unit_code")
	private String unitCode;

	@Column(name = "display_order")
	private Long displayOrder;

	@Column(name = "delete_flag")
	private Integer deleteFlag;

	@Column(name = "subject_id")
	private Long subjectId;
	
	@Column(name = "subject_name")
	private String subjectName;
	
	@Transient
	private String seniorName;
	
	@Transient
	private String[] unitDomains;

	@Transient
	private String unitDomainsValue;

	/**
	 * @return unit_id
	 */
	public Long getUnitId() {
		return unitId;
	}

	/**
	 * @param unitId
	 */
	public void setUnitId(Long unitId) {
		this.unitId = unitId;
	}

	/**
	 * @return unit_name
	 */
	public String getUnitName() {
		return unitName;
	}

	/**
	 * @param unitName
	 */
	public void setUnitName(String unitName) {
		this.unitName = unitName;
	}

	/**
	 * @return social_credit_code
	 */
	public String getSocialCreditCode() {
		return socialCreditCode;
	}

	/**
	 * @param socialCreditCode
	 */
	public void setSocialCreditCode(String socialCreditCode) {
		this.socialCreditCode = socialCreditCode;
	}

	/**
	 * @return short_name
	 */
	public String getShortName() {
		return shortName;
	}

	/**
	 * @param shortName
	 */
	public void setShortName(String shortName) {
		this.shortName = shortName;
	}

	/**
	 * @return representive_name
	 */
	public String getRepresentiveName() {
		return representiveName;
	}

	/**
	 * @param representiveName
	 */
	public void setRepresentiveName(String representiveName) {
		this.representiveName = representiveName;
	}

	/**
	 * @return office_tel
	 */
	public String getOfficeTel() {
		return officeTel;
	}

	/**
	 * @param officeTel
	 */
	public void setOfficeTel(String officeTel) {
		this.officeTel = officeTel;
	}

	/**
	 * @return postal_code
	 */
	public String getPostalCode() {
		return postalCode;
	}

	/**
	 * @param postalCode
	 */
	public void setPostalCode(String postalCode) {
		this.postalCode = postalCode;
	}

	/**
	 * @return fax
	 */
	public String getFax() {
		return fax;
	}

	/**
	 * @param fax
	 */
	public void setFax(String fax) {
		this.fax = fax;
	}

	/**
	 * @return unit_address
	 */
	public String getUnitAddress() {
		return unitAddress;
	}

	/**
	 * @param unitAddress
	 */
	public void setUnitAddress(String unitAddress) {
		this.unitAddress = unitAddress;
	}

	/**
	 * @return unit_nature_id
	 */
	public String getUnitNatureId() {
		return unitNatureId;
	}

	/**
	 * @param unitNatureId
	 */
	public void setUnitNatureId(String unitNatureId) {
		this.unitNatureId = unitNatureId;
	}

	/**
	 * @return unit_level
	 */
	public String getUnitLevel() {
		return unitLevel;
	}

	/**
	 * @param unitLevel
	 */
	public void setUnitLevel(String unitLevel) {
		this.unitLevel = unitLevel;
	}

	/**
	 * @return region_code
	 */
	public String getRegionCode() {
		return regionCode;
	}

	/**
	 * @param regionCode
	 */
	public void setRegionCode(String regionCode) {
		this.regionCode = regionCode;
	}

	/**
	 * @return manubrium_flag
	 */
	public Integer getManubriumFlag() {
		return manubriumFlag;
	}

	/**
	 * @param manubriumFlag
	 */
	public void setManubriumFlag(Integer manubriumFlag) {
		this.manubriumFlag = manubriumFlag;
	}

	/**
	 * @return manubrium_level
	 */
	public String getManubriumLevel() {
		return manubriumLevel;
	}

	/**
	 * @param manubriumLevel
	 */
	public void setManubriumLevel(String manubriumLevel) {
		this.manubriumLevel = manubriumLevel;
	}

	/**
	 * @return manubrium_name
	 */
	public String getManubriumName() {
		return manubriumName;
	}

	/**
	 * @param manubriumName
	 */
	public void setManubriumName(String manubriumName) {
		this.manubriumName = manubriumName;
	}

	/**
	 * @return unit_type_id
	 */
	public String getUnitTypeId() {
		return unitTypeId;
	}

	/**
	 * @param unitTypeId
	 */
	public void setUnitTypeId(String unitTypeId) {
		this.unitTypeId = unitTypeId;
	}

	/**
	 * @return subject_type
	 */
	public String getSubjectType() {
		return subjectType;
	}

	/**
	 * @param subjectType
	 */
	public void setSubjectType(String subjectType) {
		this.subjectType = subjectType;
	}

	/**
	 * @return person_number
	 */
	public String getPersonNumber() {
		return personNumber;
	}

	/**
	 * @param personNumber
	 */
	public void setPersonNumber(String personNumber) {
		this.personNumber = personNumber;
	}

	/**
	 * @return setup_basis
	 */
	public String getSetupBasis() {
		return setupBasis;
	}

	/**
	 * @param setupBasis
	 */
	public void setSetupBasis(String setupBasis) {
		this.setupBasis = setupBasis;
	}

	/**
	 * @return entrust_type_id
	 */
	public String getEntrustTypeId() {
		return entrustTypeId;
	}

	/**
	 * @param entrustTypeId
	 */
	public void setEntrustTypeId(String entrustTypeId) {
		this.entrustTypeId = entrustTypeId;
	}

	/**
	 * @return entrust_start
	 */
	public Date getEntrustStart() {
		return entrustStart;
	}

	/**
	 * @param entrustStart
	 */
	public void setEntrustStart(Date entrustStart) {
		this.entrustStart = entrustStart;
	}

	/**
	 * @return entrust_end
	 */
	public Date getEntrustEnd() {
		return entrustEnd;
	}

	/**
	 * @param entrustEnd
	 */
	public void setEntrustEnd(Date entrustEnd) {
		this.entrustEnd = entrustEnd;
	}

	/**
	 * @return entrust_nature_id
	 */
	public String getEntrustNatureId() {
		return entrustNatureId;
	}

	/**
	 * @param entrustNatureId
	 */
	public void setEntrustNatureId(String entrustNatureId) {
		this.entrustNatureId = entrustNatureId;
	}

	/**
	 * @return senior_id
	 */
	public Long getSeniorId() {
		return seniorId;
	}

	/**
	 * @param seniorId
	 */
	public void setSeniorId(Long seniorId) {
		this.seniorId = seniorId;
	}

	/**
	 * @return unit_code
	 */
	public String getUnitCode() {
		return unitCode;
	}

	/**
	 * @param unitCode
	 */
	public void setUnitCode(String unitCode) {
		this.unitCode = unitCode;
	}

	/**
	 * @return display_order
	 */
	public Long getDisplayOrder() {
		return displayOrder;
	}

	/**
	 * @param displayOrder
	 */
	public void setDisplayOrder(Long displayOrder) {
		this.displayOrder = displayOrder;
	}

	/**
	 * @return delete_flag
	 */
	public Integer getDeleteFlag() {
		return deleteFlag;
	}

	/**
	 * @param deleteFlag
	 */
	public void setDeleteFlag(Integer deleteFlag) {
		this.deleteFlag = deleteFlag;
	}

	public String getSeniorName() {
		return seniorName;
	}

	public void setSeniorName(String seniorName) {
		this.seniorName = seniorName;
	}

	public String[] getUnitDomains() {
		return unitDomains;
	}

	public void setUnitDomains(String[] unitDomains) {
		this.unitDomains = unitDomains;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public Integer getRegionID() {
		return regionID;
	}

	public void setRegionID(Integer regionID) {
		this.regionID = regionID;
	}

	public String getRegionName() {
		return regionName;
	}

	public void setRegionName(String regionName) {
		this.regionName = regionName;
	}

	public Integer getEntrustUnitId() {
		return entrustUnitId;
	}

	public void setEntrustUnitId(Integer entrustUnitId) {
		this.entrustUnitId = entrustUnitId;
	}

	public String getEntrustUnitName() {
		return entrustUnitName;
	}

	public void setEntrustUnitName(String entrustUnitName) {
		this.entrustUnitName = entrustUnitName;
	}

	public Integer getSupUnitId() {
		return supUnitId;
	}

	public void setSupUnitId(Integer supUnitId) {
		this.supUnitId = supUnitId;
	}

	public String getSupUnitName() {
		return supUnitName;
	}

	public void setSupUnitName(String supUnitName) {
		this.supUnitName = supUnitName;
	}

	public Integer getSupUnitLeaderId() {
		return supUnitLeaderId;
	}

	public void setSupUnitLeaderId(Integer supUnitLeaderId) {
		this.supUnitLeaderId = supUnitLeaderId;
	}

	public String getSupUnitLeaderName() {
		return supUnitLeaderName;
	}

	public void setSupUnitLeaderName(String supUnitLeaderName) {
		this.supUnitLeaderName = supUnitLeaderName;
	}

	public Integer getSupUnitBianzhiNum() {
		return supUnitBianzhiNum;
	}

	public void setSupUnitBianzhiNum(Integer supUnitBianzhiNum) {
		this.supUnitBianzhiNum = supUnitBianzhiNum;
	}

	public String getSupUnitLevel() {
		return supUnitLevel;
	}

	public void setSupUnitLevel(String supUnitLevel) {
		this.supUnitLevel = supUnitLevel;
	}

	public Date getFoundedTime() {
		return foundedTime;
	}

	public void setFoundedTime(Date foundedTime) {
		this.foundedTime = foundedTime;
	}

	public String getUnitDomainsValue() {
		return unitDomainsValue;
	}

	public void setUnitDomainsValue(String unitDomainsValue) {
		this.unitDomainsValue = unitDomainsValue;
	}

	public Long getSubjectId() {
		return subjectId;
	}

	public void setSubjectId(Long subjectId) {
		this.subjectId = subjectId;
	}

	public String getSubjectName() {
		return subjectName;
	}

	public void setSubjectName(String subjectName) {
		this.subjectName = subjectName;
	}
	
}
